import Vue from 'vue';
import VueRouter from "vue-router";
import Home from "@/views/home/index";
import Cart from '@/views/cart/index';
import Pear from '@/views/pear/index';
import Error from "@/views/404";

Vue.use(VueRouter);

const routes = [
    {
        path: "/",
        redirect: "/home"
    },
    {
        path: "/home",
        name: "home",
        component: Home
    },
    {
        path: "/cart",
        name: "cart",
        component: Cart
    },
    {
        path: "/pear",
        name: "pear",
        component: Pear
    },
    {
        path: "/404",
        name:'404',
        component: Error
    },
    {
        path: "*",
        redirect: "/404"
    },
]

// 解决ElementUI导航栏中的vue-router在3.0版本以上重复点菜单报错问题
const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location) {
    return originalPush.call(this, location).catch(err => err)
}

const router = new VueRouter({
    mode: "history",
    base: process.env.BASE_URL,
    routes
});

//可以设置路由导航守卫，对某些路由进行验证拦截
router.beforeEach((to, from, next) => {
    next();
});

export default router;